home *** CD-ROM | disk | FTP | other *** search
/ GFX Sensations 1 / Graphic Sensations - Volume 1.iso / tools / amiga / 3d_tools / rend10.lzh / REND1.0 / ModelUtilities / Plane / plane.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-06  |  1.7 KB  |  60 lines

  1. #include <types.h>
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <math.h>
  5. #include "//Include/database.h"
  6.  
  7. main(int argc, char *argv[])
  8.  
  9. {
  10.    ULONG i,j,k,xticks,yticks,numvert,numpoly,tempb,tempc,tempd,tempe;
  11.    FLOAT x,y,tempa;
  12.    FILE *fp;
  13.    
  14.    if(argc != 2) {
  15.       printf("\nUSAGE plane <output file name>\nRun and enter x-num squares and y-num squares and hit return.\n Will generate unit plane.\n\n");
  16.       return(0);
  17.    }
  18.    if((fp=fopen(argv[1],"w"))!=NULL) {
  19.       scanf("%u %u",&xticks,&yticks);
  20.       numvert = (xticks+1)*(yticks+1);
  21.       numpoly = xticks*yticks;
  22.       printf("\nWriting file \"%s\" ...",argv[1]);
  23.       fwrite((void *)&numvert,sizeof(ULONG),1,fp);
  24.       fwrite((void *)&numpoly,sizeof(ULONG),1,fp);
  25.       y =  1.0;
  26.       for(i=0;i<(yticks+1);i++) {
  27.      x = -1.0;
  28.      for(j=0;j<(xticks+1);j++) {
  29.         fwrite((void *)&x,sizeof(FLOAT),1,fp);
  30.         fwrite((void *)&y,sizeof(FLOAT),1,fp);
  31.         tempa = 0.0;
  32.         fwrite((void *)&tempa,sizeof(FLOAT),1,fp);
  33.         tempa = 1.0;
  34.         fwrite((void *)&tempa,sizeof(FLOAT),1,fp);
  35.         x += 2.0/(FLOAT)xticks;
  36.      }
  37.      y -= 2.0/(FLOAT)yticks;
  38.       }
  39.       for(i=0;i<yticks;i++) {
  40.      for(j=0;j<xticks;j++) {
  41.         tempb = i*(xticks+1)+j;
  42.         tempc = tempb+1;
  43.         tempd = tempb+xticks+1;
  44.         tempe = tempd+1;
  45.         fwrite((void *)&tempb,sizeof(ULONG),1,fp);
  46.         fwrite((void *)&tempc,sizeof(ULONG),1,fp);
  47.         fwrite((void *)&tempe,sizeof(ULONG),1,fp);
  48.         fwrite((void *)&tempd,sizeof(ULONG),1,fp);
  49.             tempb = NOVERT;
  50.         for(k=4;k<MAXPOLYVERT;k++)
  51.            fwrite((void *)&tempb,sizeof(ULONG),1,fp);      
  52.      }
  53.       }      
  54.       fclose(fp);
  55.       printf(" Done\n\n");
  56.    }
  57.    else 
  58.       printf("\nCould not open output file !\n\n");      
  59. }
  60.